iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Python

30天零基礎學習Python程式語言系列 第 21

Day 21: 異常處理 + 檢測檔案是否存在

  • 分享至 

  • xImage
  •  

當程式執行發生錯誤 Error Handing 時會拋出異常=exception
Python提供try and except語法,更好的處理異常
範例一:整數相除

#當y是零時會發生錯誤,任何數除以零都不合理
x = int(input("請輸入一個整數:")
y = int(input("請輸入另一個整數:")
print(x/y)


請輸入一個整數:10
請輸入另一個整數:0
ZeroDivisionError: division by zero

解決異常處理

try:
    x = int(input("請輸入一個整數:")
    y = int(input("請輸入另一個整數:")
    print(x/y)
exception ZeroDivisionError:
    print("除數不能為零")


請輸入一個整數:6
請輸入另一個整數:0
除數不能為零

處理非整數錯誤

try:
    x = int(input("請輸入一個整數:")
    y = int(input("請輸入另一個整數:")
    print(x/y)
exception ValueError:
    print("請輸入整數")
exception ZeroDivisionError:
    print("除數不能為零")


請輸入一個整數:5.7
請輸入整數

如果只要判斷錯誤撰寫方式

try:
    x = int(input("請輸入一個整數:")
    y = int(input("請輸入另一個整數:")
    print(x/y)
exception (ValueError, ZeroDivisionError):
    print("出現錯誤,請重新輸入")
finally:
    print("無論是否出現錯誤,都會執行")
    
    
請輸入一個整數:20
請輸入另一個整數:4
5
無論是否出現錯誤,都會執行

finally用法:無論是否有錯誤都會出現

try:
    x = int(input("請輸入一個整數:")
    y = int(input("請輸入另一個整數:")
    print(x/y)
exception (ValueError, ZeroDivisionError):
    print("出現錯誤,請重新輸入")
finally:
    print("無論是否出現錯誤,都會執行")
    
    
請輸入一個整數:20
請輸入另一個整數:0
出現錯誤,請重新輸入
無論是否出現錯誤,都會執行

else用法:其他錯誤出現則出現else

try:
    x = int(input("請輸入一個整數:")
    y = int(input("請輸入另一個整數:")
    print(x/y)
exception (ValueError, ZeroDivisionError):
    print("出現錯誤,請重新輸入")
else:
    print("else")

檢測檔案是否存在:使用Python進行檔案偵測

import os

str = r"C:\User\Wcy\OneDrive\桌布\workspace
print(str)
if os.path.exists(str):
    print("路徑存在!")
else
    print("路徑不存在")
    
    
C:\User\Wcy\OneDrive\桌布\workspace
路徑存在!

檢查檔案類型isdfile、isdir(檔案、目錄)

import os

str = r"C:\User\Wcy\OneDrive\桌布\workspace
print(str)
if os.path.isfile(str):
    print("該路徑為檔案")
elif os.path.isdir(str)
    print("該路徑為目錄")
else:
    print('other')
    
    
該路徑為目錄

上一篇
Day 20: 模組 + 作用域
系列文
30天零基礎學習Python程式語言21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言